package com.finna.tenant.service;

import com.finna.tenant.dto.*;
import com.finna.tenant.dto.AccountDTO.AccountCreateRequest;
import com.finna.tenant.dto.AccountDTO.AccountListRequest;
import com.finna.tenant.dto.AccountDTO.AccountResponse;
import com.finna.tenant.dto.AccountDTO.AccountUpdateRequest;

/**
 * 账号Service
 */
public interface AccountService {
    
    /**
     * 创建账号
     */
    AccountResponse create(AccountCreateRequest request);
    
    /**
     * 修改账号
     */
    AccountResponse update(Long id, AccountUpdateRequest request);
    
    /**
     * 删除账号
     */
    void delete(Long id);
    
    /**
     * 获取账号详情
     */
    AccountResponse getById(Long id);
    
    /**
     * 获取账号列表（分页）
     */
    PageResponse<AccountResponse> list(AccountListRequest request);
}

